The invention relates to data networking and, more specifically, to a system and method for scheduling data streaming services and allocating associated system resources in a distributed data network environment.
The Internet is a loose network of connected computers spread throughout the world. A message can be sent from any computer on the Internet to any other by specifying a destination address and passing the message from computer to computer via a series of xe2x80x9chops.xe2x80x9d Each computer, router, or xe2x80x9cnodexe2x80x9d on the Internet has a unique Internet address. When an intermediate computer or router receives a message in transit, the computer checks the intended destination of the message and passes it along accordingly.
Initially, the Internet was primarily used to transmit and receive electronic mail and network news and to allow transfer of computer files. However, since the introduction of the World Wide Web (also known as the xe2x80x9cWebxe2x80x9d or xe2x80x9cWWWxe2x80x9d) several years ago, the Internet has begun to host increasing amounts of other types of data of general interest, namely representations of images and articles, audiovisual and multimedia content, etc.
The Web protocol and language establish a graphical means to navigate the Internet. xe2x80x9cWeb pages,xe2x80x9d often consisting primarily of text and graphical material are stored on numerous computers, known as xe2x80x9cWeb servers,xe2x80x9d throughout the Internet. A software program known as a xe2x80x9cbrowserxe2x80x9d can be used to access and view Web pages across the Internet by specifying the location (i.e. Internet address) of the desired Web page. When a Web page is accessed, its information is transmitted from the remote computer (server or delivery site), wherever in the world it may be located, across the Internet, to the user.
In recent times, the Web has begun to host highly sophisticated types of multimedia content, such as audio and video data, and computer software. Compared to first generation Web content, namely text and still images, audio clips, video clips, and software programs have extremely high storage and bandwidth requirements.
As discussed above, a browser program can be used to access and view Web pages across the Internet by specifying the location (i.e. Internet address) of the desired Web page, or more commonly, by xe2x80x9chotlinkingxe2x80x9d to Web pages. Common browsers are, Lynx, NCSA Mosaic, Netscape Navigator, and Microsoft Internet Explorer. The desired Web page is specified by a uniform resource locator (xe2x80x9cURLxe2x80x9d), indicating the precise location of the file using the syntax xe2x80x9chttp://internet.address/directory/filename.htmlxe2x80x9d.
Web pages are generally described, in terms of layout and content, by way of a language known as xe2x80x9cHTMLxe2x80x9d (HyperText Markup Language). Any particular computer linked to the Internet can store one or more Web pages, i.e. computer files in HTML format, for access by users.
Hotlinking from one HTML Web page to another is accomplished as follows. The user first accesses a Web page having a known address, often on the computer located at the user""s ISP (Internet Service Provider). The ISP is the organization providing Internet connectivity to the user. That Web page can contains in addition to textual and visual data specified in HTML format, xe2x80x9clinks,xe2x80x9d or embedded information (in the form of URLs) pointing to the Internet addresses of other Web pages, often on other computers throughout the Internet. The user, by selecting a link (often by pointing and clicking with a mouse), can then access other Web pages, which can in turn contain farther data and/or additional links.
Various extensions to HTML, such as the EMBED tag, allow references to other data to be embedded into Web pages. Some browsers are not capable of handling data other than text and images. Other browsers can handle the data in various ways. NCSA Mosaic, for example, handles references to unknown types of data by allowing the data to be downloaded to the user""s computer, and then optionally invoking an external program to view or manipulate the data. Recent releases of Netscape Navigator and Microsoft Internet Explorer take the concept one step further: a browser extension, or xe2x80x9cplug-in,xe2x80x9d can be automatically invoked to handle the data as it is received from the remote Web page. Other means, such as network program xe2x80x9cappletsxe2x80x9d written in the Java language (or a similar language), can be used to extend the functionality of the browser environment or network.
Traditionally, outside of the Internet, the primary method for communicating electronically with a substantial number of customers or users has been broadcasting. Radio, television, and other media all use various forms of broadcasting. Although it is possible to reach large numbers of people this way, it is difficult to regulate distribution and receipt of the content.
It is also possible to reach large numbers of customers by replicating content and sending individual copies to each customer. Printed matter, such as newspapers, magazines are distributed this way. Videotape rentals may also be considered to fall within this model. The Internet, while it uses electronic distribution like traditional broadcasting, acts in most cases more like the distribution of replicated content. Using the traditional model, Internet communications generally will not reach their intended destination unless they are specifically transmitted to that user. This method of reaching a large number of customers is inefficient, however, since audio and video transmissions over the Internet are bandwidth intensive.
Moreover, such methods of providing streams can be profoundly expensive at any level of data rate. The optimal configuration would be to know exactly how many streams are required to support the program for the attending audience. It""s like building airliners for just the number of travelers of that day. If this were possible, airline travel would be significantly cheaper. Similarly, a unicast network configuration would also benefit with this type of planning optimization.
There is an Internet-based form of broadcasting, which in one embodiment is called xe2x80x9cmulticasting.xe2x80x9d In this case, an Internet-based communication can reach a large number of users, but can also be intercepted easily by individuals who are not authorized to do so. Internet broadcasts, like traditional television broadcasts, are difficult to regulate.
Conventionally, broadcast events are not effectively managed. For example, a broadcast stream may be accessible to anyone who logs into an associated Web page. Thus, there may be no control over who accesses the stream and there may be no control over how many people access the stream. In this example, the quality of the broadcast may suffer as a result of a degradation in the performance of the server that provides the stream. Accordingly, a need exists for an improved method of managing broadcast events over a data network.
The invention is directed to a system and method for managing the broadcast of data over a data network. To provide services for a scheduled broadcast event, a broadcast manager automatically commits system resources and sets up network interconnections for the broadcast. For example, the broadcast manager may automatically monitor usable network resources to determine which resources can be allocated. The broadcast manager may also track current data streams in the data network and track network resources that are used by those current data streams to determine how resources are to be allocated.
In one embodiment, a system constructed according to the invention provides multimedia distribution service that enables publishers to register multimedia presentations with the service and enables viewers to view these presentations. Network servers are provided for the publishers to load the presentations for viewing. Publishers can specify when a presentation is to be accessible. Publishers can specify which viewers are allowed to view the presentations. Viewers may log into the service using standard web browsers to view the presentations.
The system includes a broadcast manager as described above and other components such as a scheduler, a publisher, and a firewall tunnel server. The broadcast manager uses information obtained from the scheduler and the publisher to automatically commit resources and set up network interconnections to produce a broadcast session on the network. The scheduler performs the event scheduling when a publisher schedules an event (broadcast), provides information about event schedules, and tracks events as they take place. The publisher provides management services for publishers including initial signup, account maintenance, credit card processing, access and broadcast authorization, and usage tracking. The firewall tunnel server enables connections to be made from the server to the publisher in the event the connections are normally blocked by firewalls.